package lib

import (
	"goloader"
	"math"
	_ "unsafe"
)

// Ptrmath 设置math库指针
func Ptrmath(symPtr map[string]uintptr) {
	goloader.RegFunc(symPtr, "math.Abs", math.Abs)
	goloader.RegFunc(symPtr, "math.Acos", math.Acos)
	goloader.RegFunc(symPtr, "math.Acosh", math.Acosh)
	goloader.RegFunc(symPtr, "math.Asin", math.Asin)
	goloader.RegFunc(symPtr, "math.Asinh", math.Asinh)
	goloader.RegFunc(symPtr, "math.Atan", math.Atan)
	goloader.RegFunc(symPtr, "math.Atan2", math.Atan2)
	goloader.RegFunc(symPtr, "math.Atanh", math.Atanh)
	goloader.RegFunc(symPtr, "math.Cbrt", math.Cbrt)
	goloader.RegFunc(symPtr, "math.Ceil", math.Ceil)
	goloader.RegFunc(symPtr, "math.Copysign", math.Copysign)
	goloader.RegFunc(symPtr, "math.Cos", math.Cos)
	goloader.RegFunc(symPtr, "math.Cosh", math.Cosh)
	goloader.RegFunc(symPtr, "math.Dim", math.Dim)
	goloader.RegFunc(symPtr, "math.Erf", math.Erf)
	goloader.RegFunc(symPtr, "math.Erfc", math.Erfc)
	goloader.RegFunc(symPtr, "math.Erfcinv", math.Erfcinv)
	goloader.RegFunc(symPtr, "math.Erfinv", math.Erfinv)
	goloader.RegFunc(symPtr, "math.Exp", math.Exp)
	goloader.RegFunc(symPtr, "math.Exp2", math.Exp2)
	goloader.RegFunc(symPtr, "math.Expm1", math.Expm1)
	goloader.RegFunc(symPtr, "math.Float32bits", math.Float32bits)
	goloader.RegFunc(symPtr, "math.Float32frombits", math.Float32frombits)
	goloader.RegFunc(symPtr, "math.Float64bits", math.Float64bits)
	goloader.RegFunc(symPtr, "math.Float64frombits", math.Float64frombits)
	goloader.RegFunc(symPtr, "math.Floor", math.Floor)
	goloader.RegFunc(symPtr, "math.Frexp", math.Frexp)
	goloader.RegFunc(symPtr, "math.Gamma", math.Gamma)
	goloader.RegFunc(symPtr, "math.Hypot", math.Hypot)
	goloader.RegFunc(symPtr, "math.Ilogb", math.Ilogb)
	goloader.RegFunc(symPtr, "math.Inf", math.Inf)
	goloader.RegFunc(symPtr, "math.IsInf", math.IsInf)
	goloader.RegFunc(symPtr, "math.IsNaN", math.IsNaN)
	goloader.RegFunc(symPtr, "math.J0", math.J0)
	goloader.RegFunc(symPtr, "math.J1", math.J1)
	goloader.RegFunc(symPtr, "math.Jn", math.Jn)
	goloader.RegFunc(symPtr, "math.Ldexp", math.Ldexp)
	goloader.RegFunc(symPtr, "math.Lgamma", math.Lgamma)
	goloader.RegFunc(symPtr, "math.Log", math.Log)
	goloader.RegFunc(symPtr, "math.Log10", math.Log10)
	goloader.RegFunc(symPtr, "math.Log1p", math.Log1p)
	goloader.RegFunc(symPtr, "math.Log2", math.Log2)
	goloader.RegFunc(symPtr, "math.Logb", math.Logb)
	goloader.RegFunc(symPtr, "math.Max", math.Max)
	goloader.RegFunc(symPtr, "math.Min", math.Min)
	goloader.RegFunc(symPtr, "math.Mod", math.Mod)
	goloader.RegFunc(symPtr, "math.Modf", math.Modf)
	goloader.RegFunc(symPtr, "math.NaN", math.NaN)
	goloader.RegFunc(symPtr, "math.Nextafter", math.Nextafter)
	goloader.RegFunc(symPtr, "math.Nextafter32", math.Nextafter32)
	goloader.RegFunc(symPtr, "math.Pow", math.Pow)
	goloader.RegFunc(symPtr, "math.Pow10", math.Pow10)
	goloader.RegFunc(symPtr, "math.Remainder", math.Remainder)
	goloader.RegFunc(symPtr, "math.Round", math.Round)
	goloader.RegFunc(symPtr, "math.RoundToEven", math.RoundToEven)
	goloader.RegFunc(symPtr, "math.Signbit", math.Signbit)
	goloader.RegFunc(symPtr, "math.Sin", math.Sin)
	goloader.RegFunc(symPtr, "math.Sincos", math.Sincos)
	goloader.RegFunc(symPtr, "math.Sinh", math.Sinh)
	goloader.RegFunc(symPtr, "math.Sqrt", math.Sqrt)
	goloader.RegFunc(symPtr, "math.Tan", math.Tan)
	goloader.RegFunc(symPtr, "math.Tanh", math.Tanh)
	goloader.RegFunc(symPtr, "math.Trunc", math.Trunc)
	goloader.RegFunc(symPtr, "math.Y0", math.Y0)
	goloader.RegFunc(symPtr, "math.Y1", math.Y1)
	goloader.RegFunc(symPtr, "math.Yn", math.Yn)
}
